// 这里放购物车有关的模块数据
export default {
    namespaced: true,
    // 在模块化的vuex里，state必须是一个函数
    // 且在函数里return一个对象
    state () {
        return {
            // 数据声明到这个对象里
            cartList: []
        }
    },
    mutations: {
        setCartList (state, list) {
            state.cartList = list
        }
    },
    actions: {
        // 假装发请求
        reqCartList (ctx) {
            console.log('cart里的reqCartList')
            setTimeout(() => {
                const list =  [
                    { id: 1, name: '皮鞋', price: 9.9 },
                    { id: 2, name: '凉鞋', price: 7699 },
                    { id: 3, name: '外套', price: 2399 },
                    { id: 4, name: '斜挎包', price: 17900 },
                  ]
                ctx.commit('setCartList', list)
            },500)
        }
    },
    getters: {
        totalPrice (state) {
            return state.cartList.reduce((sum, v) => sum += v.price, 0)
        }
    }
}